
/*
    Copyright(C) 2010 Ying-Chun Liu(PaulLiu). All rights reserved.

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
*/

package org.debian.paulliu.utils;

import java.io.*;

public class Counter
{
    private int value=0;
    private static java.util.Map<String, Counter> counters = new java.util.TreeMap<String, Counter>();

    public Counter () {
	this(0);
    }
    public Counter (int start) {
	this.value = start;
    }

    public int getValue() {
	int ret;
	ret = this.value;
	this.value = this.value+1;
	return ret;
    }

    public static Counter getInstanceByName(String counterName) {
	if (!counters.containsKey(counterName)) {
	    Counter newCounter = new Counter();
	    counters.put(counterName, newCounter);
	    return newCounter;
	} else {
	    return counters.get(counterName);
	}
    }
}
